// pages/home/home.js
import request from '../../utils/request'
Page({
  //1. 获取页面中的轮播图数据
  async getBannerList() {
    const result = await request({
      url: '/banner',
      data: {
        type: 2
      }
    })

    if (result.code === 200) {
      this.setData({
        bannerList: result.banners
      })
    }
  },

  //2. 获取推荐歌曲
  async getRecommendSongsList() {
    const res = await request({
      url: '/personalized',
      data: {
        limit: 12
      }
    })
    if (res.code === 200) {
      this.setData({
        songsList: res.result
      })
    }
  },

  //3. 获取排行榜歌曲数据
  async getRankingList() {
    let index = 0;
    const rankingList = [];
    //使用循环遍历来发送请求，循环几次就获取几次轮播图
    while (index < 6) {
      const result = await request({
        url: '/top/list',
        data: {
          idx: index++
        }
      })
      if (result.code === 200) {
        const songObj = {
          id: result.playlist.id,
          songName: result.playlist.name,
          songsList: result.playlist.tracks.slice(0, 3),
        }
        rankingList.push(songObj)
      }
    }

    //循环多少次以后拿到多少个轮播图的数据，一起储存
    this.setData({
      rankingList
    })
  },

  //4. 点击每日推荐切换到recommend歌曲页面
  toRecommendPage(){
    wx.navigateTo({
       /* url: '/pages/recommend/recommend', */
      url:'/packageSong/pages/recommend/recommend',
    })
  },
  /**
   * 页面的初始数据
   */
  data: {
    // 存储轮播图数据
    bannerList: [],
    // 存储推荐歌曲
    songsList: [],
    //储存排行榜歌曲数据
    rankingList: [], // 有几个对象就有几个轮播图
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    //1. 获取轮播图数据
    this.getBannerList()
    //2. 获取推荐歌曲数据
    this.getRecommendSongsList()
    //3. 获取排行榜数据
    this.getRankingList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})